Scan operation is a basic function performed by an IEEE 802.11 WiFi device. Scan operations have at least two purposes. The first is to detect available networks to connect to, and the second is, as part of connection maintenance, to detect available candidate Access Points (APs) that may be transitioned to as roaming occurs.
Scan operations have a major impact on platform and device power consumption and their performance. On one hand, the device must remain active while searching, in order to be able to transmit probe requests or receive probe responses and beacons. Thus, it cannot enter idle or sleep states during scan operation, resulting in high power consumption. On the other hand, if the device is already active and busy, scan operation interferes with those tasks. Operations, such as reception of data frames from the associated access point (AP), are delayed, whenever the device allocates a slot for scanning.
Existing implementations initiate scan operation in pre-defined intervals, either fixed or incremented over time.